-
Notifications
You must be signed in to change notification settings - Fork 220
[dpdk] add symmetric_mp test #3629
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
1181aa2 to
cc13252
Compare
970e586 to
be7acdf
Compare
|
@LiliDeng LGTM |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
This PR adds support for the DPDK symmetric_mp multiprocessing test example, which provides better scalability than the existing client_server_mp test for handling multiple ports and processes.
Key changes include:
- Refactoring NIC initialization to accept arbitrary numbers of NICs
- Adding dpdk-devname utility to determine correct DPDK port IDs for netvsc PMD
- Implementing the symmetric_mp test runner with SRIOV rescind testing capabilities
Reviewed Changes
Copilot reviewed 8 out of 8 changed files in this pull request and generated 4 comments.
Show a summary per file
| File | Description |
|---|---|
| dpdkutil.py | Refactored NIC handling functions and added symmetric_mp test runner |
| dpdktestpmd.py | Updated example app path resolution and added devname app support |
| dpdksuite.py | Added new test case for symmetric_mp verification |
| devname/ | Added new utility application for DPDK port ID discovery |
| lisa/nic.py | Enhanced NIC string representation with dev_uuid |
working symmetric_mp for mana and mlx save state more symmetric_mp Dpdk: use more memory Dpdk: symmetric_mp test use debug messages for status Dpdk: move symmetric_mp to dpdkutil to allow rescind/non versions Dpdk: symmetric_mp polishing
Co-authored-by: Copilot <[email protected]>
Co-authored-by: Copilot <[email protected]>
2877af6 to
1b7e71a
Compare
microsoft/testsuites/dpdk/symmetric_mp/symmetric-mp-patched-main.c
Dismissed
Show dismissed
Hide dismissed
* DPDK: symmetric_mp test * DPDK: allow arbitrary nics passed to init working symmetric_mp for mana and mlx save state more symmetric_mp Dpdk: use more memory Dpdk: symmetric_mp test use debug messages for status Dpdk: move symmetric_mp to dpdkutil to allow rescind/non versions Dpdk: symmetric_mp polishing * DPDK: allow rescind in symmetric_mp test * DPDK: add devname helper * more symmetric_mp work * dpdk/symmetric_mp: use installation path for examples * dpdk/symmetric_mp: undo replacement example app change * dpdk/symmetric_mp: add assert at the end * symmetric_mp: rebase fix, remove nic index * dpdk/symmetric_mp: comments for run function * dpdk: fix isort ordering in dpdktestpmd.py * Update microsoft/testsuites/dpdk/dpdktestpmd.py Co-authored-by: Copilot <[email protected]> * Update microsoft/testsuites/dpdk/dpdkutil.py Co-authored-by: Copilot <[email protected]> * fix copilot commit line length * dpdk symmetric_mp: add patched version of main.c for old versions of dpdk * fix symmetric_mp path * save patched main file for symmetric_mp * dpdk: remove commented line copilot missed * dpdk: remove commented line that copilot didn't miss --------- Co-authored-by: Copilot <[email protected]>
Adding a runner for the DPDK example app
multiprocessing/symmetric_mp. This is another flavor of the multiprocessing test which can scale to a larger number of ports and processes than 'multiprocessing/client_server_mp'.Adding this test required a few smaller changes (and one refactor):
With these changes, the test itself is straightforward. We build and start the application; then use enable debug logging and check for the important DPDK netvsc PMD events that show the example app is working as expected.